草庐IT

python - 同步与异步

全部标签

javascript - 如何处理 Node.js expressjs 中异步对象方法中未处理的 promise 拒绝?

我在对象内部使用异步函数在express.js中发送响应Controller代码:module.exports={asyncsignUpEmail(req,res){/***@descriptionParametersfrombody*@param{string}firstName-FirstName*@inner*/constfirstName=req.body.firstName;res.send({success:name});thrownewError();//purposelyDone}}问题:因为signUpEmail方法在我的例子中是异步的,无论我的异步方法在这里抛出什么

javascript - 在异步函数内的回调中调用 await

这是一些代码(这是一个过于简化的示例,我知道它很愚蠢):functionsleep(ms){returnnewPromise(resolve=>setTimeout(resolve,ms));}asyncfunctiontest(){[1,2,3].map(()=>{console.log('test');awaitsleep(1000);});}test();目标是:显示测试然后等待一秒钟然后显示测试然后等待一秒然后显示测试然后等待一秒但是运行这段代码会导致失败:awaitisareservedword我知道我可以使用for循环修复它:asyncfunctiontest(){for(

Javascript 节点获取同步获取

我正在尝试使用node-fetch和nodejs对我的个人api进行api调用。随着我的数据库在幕后更新/更改,我希望能够在此期间同步更新某些值。我知道async和await存在,但通过我所有的谷歌搜索,我仍然不太了解它们或它们如何与获取请求交互。这是一些示例代码,我正在尝试开始工作,但仍然只是未定义的日志constfetch=require('node-fetch');consturl='http://example.com';letlogs;example();console.log(logs);asyncfunctionexample(){//Dothingsherelogs=a

javascript - 作用域和异步 JavaScript

我最近在工作中遇到了一个问题,至少根据我对JavaScript的了解,我得到了一个不可能的结果。我希望有人能解释这里发生了什么,以及为什么实际结果与我的预期结果不同。控制台中的预期结果id:a,x:1id:b,x:1id:c,x:1控制台中的实际结果id:c,x:1id:c,x:2id:c,x:3代码functionMyClass(id){varx=0;returnfunction(){returnfunction(){x+=1;console.log("id:",id,",x:",x);}}}functionDoStuff(id){varq=MyClass(id);response_

javascript - 以发送它们的相同顺序显示 AJAX 响应,*不*使用排队或同步请求?

我正在向远程服务器发送一堆getJSON()请求(以获取图像),并且我想按照发送请求的相同顺序显示响应(图像)。问题是,AJAX是异步的,所以响应按他们想要的顺序出现-通常都是混在一起的。我可以将它们排队或使它们同步-一次只发送一个请求-但这会严重限制性能。那么有没有一种方法可以在响应返回时识别哪个响应属于哪个请求?我在想你可以将一个“id”变量放入JSON回调参数(例如callback=response03),然后在响应到达时以某种方式解析该回调函数名称(从而获取id,“03”)。但可能不会。我的代码是这样的://Sendoffrequestsforeachkeywordstring

javascript - 异步回调

我编写了一个使用jQuery发出异步请求的函数。varSite={asyncRequest:function(url,containerId){$.ajax({url:url,onSuccess:function(data){$(containerId).html(data);}});}}由于我使用的是记事本,语法可能略有错误,但希望您能理解。我调用函数:Site.asyncRequest('someurl',container1);Site.asyncRequest('someurl',container2);这两个请求都由服务器发送和处理。两个响应被发回,这是我所期望的。但是,我希

javascript - 如何制作干净的异步循环?

按照典型的REST标准,我将我的资源分解为单独的端点和调用。这里主要讨论的两个对象是List和Item(当然,列表有一个项目列表,以及与之相关的其他一些数据)。因此,如果用户想要检索他的列表,他可能会向api/Lists发出Get请求然后用户可能想要获取其中一个列表中的项目,并获取api/ListItems/4,其中4是从List.listId检索到的在之前的通话中。一切都很好:$.ajax的options.complete属性让我指向一个回调方法,因此我可以简化这两个事件。但是,如果我想获取所有相关列表的元素,事情就会变得非常困惑。例如,假设我有一个名为makeGetRequest的

javascript - javascript和css时序是否同步?

javascript(timeout,interval)和css(animations,delay)时序是否同步?例如:#anim1{animation:anim110slinear;display:none;}anim1.style.display="block";setTimeout(function(){anim2.style.webkitAnimation='anim210slinear';},10000);anim2是否会在anim1结束时准确地触发?是否因浏览器而异?在这种情况下,我对webkit焦点更感兴趣。请注意,anim1是通过javascript触发的,以避免加载时

javascript - 如何使表单提交同步?

由于javascript(包括表单提交)是同步和单线程模型,除了ajax调用。那正确吗?但我正面临一个问题。我在第1行提交表单,然后关闭弹出窗口。发生的事情是self.close在表单提交之前被调用。所以这里它在异步模式下运行。表单提交是异步过程吗?如果是的话我怎么能在之后制作代码表单提交同步?(我不想使用setTimeOut和ajax)这是我的相关jsp代码functionclickSave(){document.form.action="customerAction.do";document.form.submit();//line1self.close();//line2}更新:

javascript - AngularJs: $http 同步调用

我有一个API调用服务,如下所示,getValue:function(input){vardeferred,url;deferred=$q.defer();url="url";$http.post(url,input).success(function(data,status,headers,config){returndeferred.resolve({success:true,data:data,status:status,headers:headers,config:config});}).error(function(data,status,headers,config){re